package org.springblade.modules.repair.service;

import org.springblade.modules.repair.dto.statistical.*;
import org.springblade.modules.repair.vo.statistics.*;

import java.util.List;

/**
 * @Description 工单作业统计分析服务类
 * @Author ysq
 * @Date 2022/8/24
 **/
public interface IWorkStatisticalService {

	/**
	 * 工单日历表
	 * @param params
	 * @return
	 */
	List<WorkCalendarVO> chart1(WorkCalendarDTO params);

	/**
	 * 每日作业明细-维保员
	 * @param params
	 * @return
	 */
	List<DayWorkDetailVO> chart2(DayWorkDetailDTO params);

	/**
	 * 每日作业明细-按组
	 * @param params
	 * @return
	 */
	List<DeptDayWorkDetailVO> chart3(DeptDayWorkDetailDTO params);

	/**
	 * 每日作业明细-按人
	 * @param params
	 * @return
	 */
	List<DeptUserWorkDetailVO> chart4(DeptUserWorkDetailDTO params);

	/**
	 * 作业汇总（数量）-作业时长-维保员
	 * @param params
	 * @return
	 */
	PersonalWorkSummaryVO chart5(WorkStatisticalDTO params);

	/**
	 * 作业汇总（数量）-作业时长-维保组长
	 * @param params
	 * @return
	 */
	LeaderWorkSummaryVO chart6(WorkStatisticalDTO params);

	/**
	 * 作业汇总-整体趋势--作业时长
	 * @param params
	 * @return
	 */
	List<WorkTrendChartVO> chart7(WorkStatisticalDTO params);

	/**
	 * 作业汇总-趋势对比--作业时长-按人
	 * @param params
	 * @return
	 */
	List<WorkTrendChartVO> chart8(WorkStatisticalDTO params);

	/**
	 * 作业汇总-趋势对比--作业时长-按组
	 * @param params
	 * @return
	 */
	List<WorkTrendChartVO> chart9(WorkGroupStatisticalDTO params);

	/**
	 * 作业汇总-作业工单
	 * @param params
	 * @return
	 */
	List<WorkPieChartVO> chart10(WorkStatisticalDTO params);

	/**
	 * 作业汇总-作业工单明细-按组
	 * @param params
	 * @return
	 */
	List<WorkOrderDetailVO> chart11(WorkGroupStatisticalDTO params);

	/**
	 * 作业汇总-作业工单明细-按人
	 * @param params
	 * @return
	 */
	List<WorkOrderDetailVO> chart12(WorkStatisticalDTO params);

	/**
	 * 作业汇总-整体趋势--作业工单
	 * @param params
	 * @return
	 */
	List<WorkTrendChartVO> chart13(WorkStatisticalDTO params);

	/**
	 * 作业汇总-趋势对比--作业工单-按人
	 * @param params
	 * @return
	 */
	List<WorkTrendChartVO> chart14(WorkStatisticalDTO params);

	/**
	 * 作业汇总-趋势对比--作业工单-按组
	 * @param params
	 * @return
	 */
	List<WorkTrendChartVO> chart15(WorkGroupStatisticalDTO params);

	/**
	 * 作业汇总-作业时长明细-按组
	 * @param params
	 * @return
	 */
	List<DeptWorkTimeDetailVO> chart16(WorkGroupStatisticalDTO params);

	/**
	 * 作业汇总-作业时长明细-按人
	 * @param params
	 * @return
	 */
	List<WorkTimeDetailVO> chart17(WorkStatisticalDTO params);
}
